/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.upn.sigemfi.can.beans;


import edu.upn.sigemfi.can.bc.UsuarioDelegate;
import edu.upn.sigemfi.seg.be.Grupo;
import edu.upn.sigemfi.seg.be.Usuario;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;

/**
 *
 * @author Administrador
 */
public class UsuarioController extends AbstractController {

    private UsuarioDelegate delegado;
    
    private Usuario usuario;
    private Grupo[] gruposSeleccionados;

    public UsuarioController() {
        delegado = new UsuarioDelegate();
        
    }

    public List<Usuario> getUsuarios() {
        try {
            return delegado.listar();
        } catch (Exception e) {
            error(e.getMessage());
        }
        return null;
    }

    public String nuevo() {
        usuario = new Usuario();
        return "nuevo";
    }

    public String registrar() {
        try {
            delegado.crear(usuario);
            info("El usuario se registró correctamente");
        } catch (Exception e) {
            error(e.getMessage());
        }
        return "volver";
    }

    public String actualizar() {
        try {
            delegado.editar(usuario);
            info("El usuario se actualizó correctamente");
        } catch (Exception e) {
            error(e.getMessage());
        }
        return "volver";
    }

    public String eliminar() {
        try {
            delegado.eliminar(usuario);
            info("El usuario se eliminó correctamente");
        } catch (Exception e) {
            error(e.getMessage());
        }
        return "volver";
    }

    public Usuario buscar(Long codigo) {
        try {
            return delegado.buscar(codigo);
        } catch (Exception e) {
            error(e.getMessage());
        }
        return null;
    }

   
    

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public Grupo[] getGruposSeleccionados() {
        return gruposSeleccionados;
    }

    public void setGruposSeleccionados(Grupo[] gruposSeleccionados) {
        this.gruposSeleccionados = gruposSeleccionados;
    }
}
